@gray: #D8D8D8;
@grayDarker: darkgray;
@primaryColorRed: #FCEEC1;
@secondaryColorRed: #EEDC94; 
@primaryColorGreen: lighten(#57A957, 10%);
@secondaryColorGreen: #62C462;
@primaryColorYellow: #FBB450;
@secondaryColorYellow: #F89406;

@headerRowColor: #719BA7;
@bodyRowColor: #FFFFFF;
@bodyAltRowColor: #D5EAF0;
@subRowColor0: #B0CC7F;

a:focus, a:active ,
textarea:focus, textarea:active,
select:focus, select:active,
div:focus, div:active,
input[type="checkbox"]:active, input[type="checkbox"]:focus,
span:focus, span:active { outline: 0px none !important; }

a:hover { text-decoration: none; }

.vertical-important(@startColor: #555, @endColor: #333) {
	background-color: mix(@startColor, @endColor, 60%) !important;
	background-color: lighten(#f56a66, 25%) !important;
	background-image: -moz-linear-gradient(top, @startColor, @endColor) !important; // FF 3.6+
	background-image: -ms-linear-gradient(top, @startColor, @endColor) !important; // IE10
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)) !important; // Safari 4+, Chrome 2+
	background-image: -webkit-linear-gradient(top, @startColor, @endColor) !important; // Safari 5.1+, Chrome 10+
	background-image: -o-linear-gradient(top, @startColor, @endColor) !important; // Opera 11.10
	background-image: linear-gradient(top, @startColor, @endColor) !important; // The standard
	background-repeat: repeat-x !important;
	filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)) !important;// IE9 and down
}

// Containers
html { background: @grayLighter; }
body { height: 100%; background-color: transparent; padding-bottom: 300px !important; font-size: 13px;}
.container { height: 100% !important; position: relative;}

// Tables
.table-striped, .table { border: 0px none !important;}
.table-striped th, .table-striped td { border-color: @grayDark !important; border-right: 1px solid @grayDark !important; border-bottom: 1px solid @grayDark; }
.table-striped th:first-child, .table-striped td:first-child { border-left: 1px solid @grayDark; }
.table-striped th { border-top: 1px solid @grayDark !important; }

table.none td { border: 0px none !important; padding: 2px !important; }
table.calendar { border-left: 1px solid @grayDark !important; border-bottom: 1px solid @grayDark !important; margin-top: 5px !important; }
tr.calendar { .buttonBackground(#ee5f5b, #bd362f); color: @white; color: rgba(255,255,255,.75); text-shadow: 0 -1px 0 rgba(0,0,0,.25); }
table.calendar th, table.calendar td { 
	width: 150px !important; 
	text-align: center; 
	border: 1px solid @grayDark !important;
	border-width: 1px 1px 0px 0px !important;
	vertical-align: top !important;
}

table.calendar th { padding-top: 3px !important; padding-bottom: 3px !important; }
table.calendar td { height: 80px !important; }
table.calendar td.disabled {  .vertical-important(@grayLight, @gray); }
table.calendar td.enabled { .vertical-important(@primaryColorGreen, @secondaryColorGreen); }
table.calendar .btn { float: left; width: 1em; border: 1px solid @grayLight !important; }
table.calendar .btn-inverse { float: left; width: 1em; border: 1px solid #000000 !important; }

.headerRow th { background-color: @headerRowColor !important; color: #FFFFFF; text-align: center;}
.bodyRow0  td { background-color: @bodyAltRowColor !important; }
.bodyRow1  td { background-color: @bodyRowColor !important; }
.subRow0 th { background-color: @subRowColor0 !important; border-left: 1px solid @grayDark; }
.subRow0 td { background-color: @bodyAltRowColor !important; }

td {
	text-align: center !important;
	vertical-align: middle!important;
	border-color: darkgrey !important;
	padding: 6px!important;
	height: 20px;
}

td.transparent, th.transparent { border: 0px !important; background-color: transparent !important; }

// Global
.no-hover {  tbody tr:hover td,   tbody tr:hover th { background: none !important; }}
.center-center { text-align: center !important; vertical-align: center !important; }
.strong { font-weight: bold; }
div.page-center { margin-bottom: 2em; }
.clear-right { margin-right: 10%; }
blockquote p { margin-bottom: 1em; }

.left { text-align: left !important; }
.right { text-align: right !important; }
.center { text-align: center; }
.middle { vertical-align: middle; display: inline !important; }

// Inputs
select, input { margin: 5px; }  /* Bootstrap puts bottom margin on inputs and selects (dunno why) */
select { width: auto; color: #555555; }
input { color: #000000 !important; }
input.email1 { width: 12em; }
input.email2 { width: 5em; }
input.phone3 { width: 1.9em; text-align: center; }
input.phone4 { width: 2.5em; text-align: center; }
input:-moz-placeholder {  color: lightgray !important; }
button:focus, button:active, a:active, a:focus { outline: 0 !important; }

i { margin-right: .5em; }
i.icon-calendar { background-position-x: -190px;}
i.icon-save { background: url('../img/save-white.png') 0px -1px no-repeat; width: 16px; }

form { border: 1px solid @grayLight !important; margin: 0px !important; }
.form-actions { border-top: 1px solid @gray !important; margin-top: .75em; margin-bottom: .75em; padding-bottom: 0px; vertical-align: middle; }

.topOffset1 { margin-top: 90px; }
.topOffset1-2 { margin-top: 250px; }
.topOffset2 { margin-top: 30px; }
.topOffset3 { margin-top: 10px; }

.fixedNav { background: @grayLighter; }
.fixedNav { height: 60px; }

img { margin: 0 auto; position: relative; height: 100%; vertical-align: middle; display: block; }

textarea { color: #000000; }

table.logo { 
	border-right: 0px; 
	border-radius: 0px; 
	border-color: @grayDarker; 
	margin-top: 20px; 
	margin-bottom: 20px; 
	border-top: 1px solid @grayDarker !important;
	border-bottom: 1px solid @grayDarker !important;
}
table.logo td { border: 0px none!important; padding: 6px; height: auto !important; }
table.logo td:last-child {  border-right: 0px solid @grayDarker!important; padding-left: 4em; }
table.logo td:first-child {  border-left: 0px solid @grayDarker!important; padding-left: 4em;}

.alert-message > p { font-size: 14px !important; font-weight: normal; }
.error, .success, .info { color: #FFFFFF; }
.error {
	background-color: #c43c35;
	background-repeat: repeat-x;
	background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
	background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
	background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: linear-gradient(top, #ee5f5b, #c43c35);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	border-color: #c43c35 #c43c35 #882a25;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}

.success{
	background-color: #57a957;
	background-repeat: repeat-x;
	background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
	background-image: -moz-linear-gradient(top, #62c462, #57a957);
	background-image: -ms-linear-gradient(top, #62c462, #57a957);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
	background-image: -webkit-linear-gradient(top, #62c462, #57a957);
	background-image: -o-linear-gradient(top, #62c462, #57a957);
	background-image: linear-gradient(top, #62c462, #57a957);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	border-color: #57a957 #57a957 #3d773d;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}
.info{
	background-color: #339bb9;
	background-repeat: repeat-x;
	background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
	background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
	background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
	background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
	background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
	background-image: linear-gradient(top, #5bc0de, #339bb9);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	border-color: #339bb9 #339bb9 #22697d;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}

.accordion-group { border-color: @grayDarker; border-left: 0px; border-right: 0px!important; border-radius: 0px; }

span.append, span.prepend {
	color: #000000;
	font-weight: bold;
	display: inline-block;
	width: auto;
	height: 18px;
	min-width: 12px;
	padding: 4px 2px 4px 3px;
	font-weight: normal;
	line-height: 18px;
	text-align: center;
	text-shadow: 0 1px 0 #FFFFFF;
	vertical-align: middle;
	border: 1px solid #CCCCCC;
	background-color: #EEEEEE;
	margin: 0px !important;
}

span.prepend,span.append { height: 18px; line-height: 18px; }
span.prepend { border-right: 0px none; }
span.append { border-left:  0px none; }

input.prepend, span.prepend {margin-right: 0px; margin-top:0px;}
input.append, span.append { margin-left: 0px; margin-top:0px;}

span.prepend > i, span.append > i { display: inline-block; margin: 0px; height: 18px!important; line-height: 18px!important; padding-bottom: 5px!important;}
.date > span > i { width: 24px; text-align: center; }
.date > span:hover { cursor: pointer; }

.btn { font-size: 12px; }
.hidden { display: none; }
.invisible { visibility: hidden; }
.form-horizontal { border: 0px none !important; }
.modal-header > .close { background-color: transparent; border: 0px none; }
.modal-body { height: 400px; overflow: auto; }
.modal { overflow: visible; }

.btn-subDanger {
	background-color: hsl(0, 69%, 28%) !important; 
	background-repeat: repeat-x; 
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ce2525", endColorstr="#781616"); 
	background-image: -khtml-gradient(linear, left top, left bottom, from(#ce2525), to(#781616)); 
	background-image: -moz-linear-gradient(top, #ce2525, #781616); 
	background-image: -ms-linear-gradient(top, #ce2525, #781616); 
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ce2525), color-stop(100%, #781616)); 
	background-image: -webkit-linear-gradient(top, #ce2525, #781616); 
	background-image: -o-linear-gradient(top, #ce2525, #781616); 
	background-image: linear-gradient(#ce2525, #781616); 
	border-color: #781616 #781616 hsl(0, 69%, 23%); 
	color: #fff !important; 
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.33);
	-webkit-font-smoothing: antialiased;
}

.addButton, .editButton, .deleteButton { display: inline-block; }
.calendarAddButton { display: inline-block; cursor: pointer; float: right; }